﻿/**
 * Byte: 芬芬时尚潮流
 * PK定时活动的一个时间函数
 */
var setupTask;

//设置多久开启一次(小时:为单位)
var starttime = 1;

//设置每次活动结束的时间(分钟:为单位)
var overtime = 10;

//设置每次副本开启的分钟段(分钟:为单位)
var startminute = 10;

function init() {
	scheduleNew();
}


function scheduleNew() {
	var cal = java.util.Calendar.getInstance();
	var hour = cal.get(java.util.Calendar.HOUR_OF_DAY); //获得小时 24小时制
	var minute = cal.get(java.util.Calendar.MINUTE); //获得分钟
	var second = cal.get(java.util.Calendar.SECOND); //获得秒
	em.setProperty("pvp", "false"); //副本的名称
	cal.set(java.util.Calendar.HOUR, 0); //设定的小时 12小时制
	cal.set(java.util.Calendar.MINUTE, startminute); //设定的分钟
	cal.set(java.util.Calendar.SECOND, 0); //设定的秒钟
	var nextTime = cal.getTimeInMillis();
	while (nextTime <= java.lang.System.currentTimeMillis()) {
		nextTime += 1000 * 60 * 60 * starttime; //设置多久开启
	}
	setupTask = em.scheduleAtTimestamp("startEvent", nextTime);
}

function startEvent() {
	em.setProperty("pvp", "true"); //副本的名称
	var cal = java.util.Calendar.getInstance();
	var hour = cal.get(java.util.Calendar.HOUR_OF_DAY); //获得小时  24小时制
	var minute = cal.get(java.util.Calendar.MINUTE); //获得分钟
	var second = cal.get(java.util.Calendar.SECOND); //获得秒
	if ((hour >= 1 && minute >= 10) && (hour <= 23 && minute <= 30)) { //判断下是否在预定的时间之内
		cal.set(java.util.Calendar.HOUR, 0); //设定的小时 12小时制
		cal.set(java.util.Calendar.MINUTE, startminute); //设定的分钟
		cal.set(java.util.Calendar.SECOND, 0); //设定的秒钟
		var nextTime = cal.getTimeInMillis();
		while (nextTime <= java.lang.System.currentTimeMillis()) {
			nextTime += 1000 * 60 * overtime; //设置多久结束
		}
		setupTask = em.scheduleAtTimestamp("finishEvent", nextTime);
		em.broadcastServerMsg(5121069, "PK地图已经开放！快来争夺热血MPV,用你的武力制霸服务器！快来把你的对手虐的体无完肤吧！", true);
		em.broadcastServerMsg("[PK活动]  活动入口已经开启，请大家速度从拍卖的个人乱斗里面进入PK战场！");
		em.broadcastServerMsg("[PK活动]  活动入口已经开启，请大家速度从拍卖的个人乱斗里面进入PK战场！");
		em.broadcastServerMsg("[PK活动]  活动入口已经开启，请大家速度从拍卖的个人乱斗里面进入PK战场！");
	}
}

function finishEvent() {
	em.broadcastServerMsg("[PK活动] 活动入口已经关闭，将在每天凌晨1点10分到晚上11点30分，每隔" + starttime + "小时开放一次！每次活动时间持续" + overtime + "分钟");
	scheduleNew();
}

function cancelSchedule() {
	if (setupTask != null) {
		setupTask.cancel(true);
	}
}
